<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //async直接放在函数声明的前面
       /* async function getData(){
            console.log("start");
            //await必须再async中使用,其后均为异步代码
            await setTimeout(()=>{
                console.log("计时器");
            },1500)

            console.log("计时器执行完后再执行");

        }

        getData()
        console.log("end");*/
        //start > end > 计时器 > 计时器执行完后再执行

        async function getData(){
            console.log("start");
            //setTimeout的回调函数是异步代码,可通过promise来监听状态
            //当await后面的promise实例处于penging状态时,不会执行await后面的代码
            await new Promise((resolve,reject)=>{
                setTimeout(()=>{
                console.log("计时器");
                //手动修改promise实例的状态,如果返回的是成功的状态,则继续执行
                // 如果返回的是失败的实例,则会中断执行
                resolve("可以进行下一步了")
                // rereject("可以进行下一步了")
            },1500)
        })
            
            console.log("计时器执行完后再执行");
        }
        

        getData()
        console.log("end");
    </script>
</body>
</html>